package com.dongdong.zhuangji.controller;



import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author dongdong 抖音号：W13883155245
 * @version 1.0
 * @date 2025/6/8
 * @description
 * 资源控制器
 * 提供不同安全级别的API端点
 */
@RestController
@RequestMapping("/test")
public class ResourceController {

    /**
     * 公共资源端点
     * 无需认证即可访问
     */
    @GetMapping("/public/hello")
    public String publicHello() {
        return "Hello from public endpoint!";
    }

    /**
     * 私有资源端点
     * 需要有效的JWT令牌才能访问
     */
    @GetMapping("/private/hello")
    public String privateHello() {
        return "Hello from private endpoint!";
    }

    /**
     * 管理员资源端点
     * 需要ADMIN角色才能访问
     */
    @GetMapping("/admin/hello")
    @PreAuthorize("hasRole('ADMIN')") // 额外的权限检查
    public String adminHello() {
        return "Hello from admin endpoint!";
    }
}